/*
 *Autor: Anderson Campos Cardoso
 *
 *Conteúdo: Arquivo cabeçalho para a classe Animacao, esta classe leva em conta
 *que todos as imagens de uma determinada animação no arquivo de imagens do sprite
 *possuem mesma altura e largura
 */

#include <iostream>
#include <SDL/SDL.h>
#include "Relogio.h"

#ifndef _ANIMACAO_H_
#define _ANIMACAO_H_

class Animacao
{
   private:

   Relogio *relogio;       /*ponteiro para a classe do relogio*/
   Uint32  deltaTempo;     /*armazena a variação de tempo*/
   int qtdeImagens;        /*quantidade de imagens distintas utilizados para a animação*/
   int altura;             /*altura em pixels das imagens no arquivo */
   int largura;            /*largura em pixels das imagens no arquivo */
   int duracaoQuadros;     /*duração em quadros que uma imagem deve ser exibida antes de ir para próxima*/
   int linhaAnimacao;      /*linha do arquivo de imagens da Sprite onde estão as imagens da animação, primeira linha corresponde ao valor 1*/

   public:

   Uint32 animar(SDL_Rect *proximoRect);

   Animacao(Relogio *p_relogio, Uint16 p_qtdeImagens, Uint16 p_altura, Uint16 p_largura, Uint16 p_duracaoQuadros, Uint16 p_linhaAnimacao);
   ~Animacao(void);

};


#endif
